import { createStore } from "vuex";

export default createStore({
  // 定义所需要的状态
  state: {
    name: "Jack",
  },
  // 同步修改state
  // 第一个参数是statue, 第二个参数是需要修改的值
  mutations: {
    setName(state, payload) {
      state.name = payload;
    },
  },
  // 异步提交mutations
  // 第一个参数是store, 第二个参数是需要修改的值
  actions: {
    asyncSetName(store, params) {
      setTimeout(() => {
        // commit是提交mutations，调用mutations的方法
        store.commit("setName", params);
      }, 2000);
    },
  },
  // 模块化
  modules: {},
});
